"""
list_display 控制列表展示的字段
search_fields 控制可以通过搜索框搜索的字段名称，xadmin使用的是模糊查询
list_filter 可以进行过滤操作的列
ordering 默认排序的字段
readonly_fields 在编辑页面的只读字段
exclude 在编辑页面隐藏的字段
list_editable 在列表页可以快速直接编辑的字段
show_detail_fileds 在列表页提供快速显示详情信息
refresh_times 指定列表页的定时刷新
list_export 控制列表页导出数据的可选格式
show_bookmarks 控制是否显示书签功能
data_charts 控制显示图标的样式
model_icon 控制菜单的图标
"""

import xadmin

from .models import UserProfile, EmailVerifyRecord, Banner, UserWeChat, User

# xadmin中这里是继承object，不再是继承admin
class UserProfileAdmin(object):
    '''
    管理员信息
    '''
    # 显示的列
    list_display = ['nick_name', 'birthday', 'gender', 'address','mobile','image','add_time']
    # 搜索的字段，不要添加时间搜索
    search_fields = ['nick_name', 'birthday', 'gender', 'address','mobile']
    # 过滤
    list_filter = ['nick_name', 'birthday', 'gender', 'address','mobile']

# 将管理器与model进行注册关联
xadmin.site.unregister(UserProfile)
xadmin.site.register(UserProfile, UserProfileAdmin)


class EmailVerifyRecordAdmin(object):
    '''
    邮件码
    '''
    # 显示的列
    list_display = ['code', 'email', 'send_type', 'send_time']
    # 搜索的字段，不要添加时间搜索
    search_fields = ['code', 'email', 'send_type', 'send_time']
    # 过滤
    list_filter = ['code', 'email', 'send_type', 'send_time']

# 将管理器与model进行注册关联
xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)


class BannerAdmin(object):
    '''
    管理员信息
    '''
    # 显示的列
    list_display = ['location', 'image', 'url', 'order', 'add_time']
    # 搜索的字段，不要添加时间搜索
    search_fields = ['location', 'image', 'url', 'order', 'add_time']
    # 过滤
    list_filter = ['location', 'image', 'url', 'order', 'add_time']

# 将管理器与model进行注册关联
xadmin.site.register(Banner, BannerAdmin)


class UserWeChatAdmin(object):
    '''
    管理员信息
    '''
    # 显示的列
    list_display = ['openid', 'nickname', 'sex', 'province', 'city', 'country', 'headimgurl', 'privilege', 'unionid', 'add_time']
    # 搜索的字段，不要添加时间搜索
    search_fields = ['openid', 'nickname', 'sex', 'province', 'city', 'country', 'headimgurl', 'privilege', 'unionid', 'add_time']
    # 过滤
    list_filter = ['openid', 'nickname', 'sex', 'province', 'city', 'country', 'headimgurl', 'privilege', 'unionid', 'add_time']

# 将管理器与model进行注册关联
xadmin.site.register(UserWeChat, UserWeChatAdmin)


from xadmin import views

# 创建xadmin的最基本管理器配置，并与view绑定
class BaseSetting(object):
    # 开启主题功能
    enable_themes = True
    use_bootswatch = True

# 将基本配置管理与view绑定
xadmin.site.register(views.BaseAdminView,BaseSetting)

# 全局修改，固定写法
class GlobalSettings(object):
    # 修改title
    site_title = 'MxOnline在线教育平台'
    # 修改footer
    site_footer = 'Python的公司'
    # 收起菜单
    menu_style = 'accordion'

# 将title和footer信息进行注册
xadmin.site.register(views.CommAdminView,GlobalSettings)